package com.jeeplus.test.jlnu.student.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jeeplus.test.jlnu.changeStuInfo.domain.entity.ChangeStuInfoHistory;
import com.jeeplus.test.jlnu.student.domain.entity.BsssStudentInfo;
import com.jeeplus.test.jlnu.student.domain.entity.StudentField;
import com.jeeplus.test.jlnu.student.domain.result.NameAndPassword;
import com.jeeplus.test.jlnu.student.domain.vo.BsssStudentInfoReqVo;
import com.jeeplus.test.tools.resp.R;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

public interface BsssStudentInfoService extends IService<BsssStudentInfo> {
    BsssStudentInfo getBsssStudentInfo(String studentId, String flag);

    Boolean bsssStudentInfoUpdate(BsssStudentInfo bsssStudentInfo);

    R imgUpload(MultipartFile file,String studentId,String type);

    NameAndPassword check(String studentId, String idCard);

    List<ChangeStuInfoHistory.GroupedChangeHistory> groupingByInfoId(Long infoId);

    Page<BsssStudentInfo> selectStudentInfoListPage(BsssStudentInfo bsssStudentInfo,Page<BsssStudentInfo> page);

    int changePassword(BsssStudentInfo bsssStudentInfo);

    void addStudentInfoApprove(BsssStudentInfo bsssStudentInfo);

    //本科生基本信息数据查询
    Page<BsssStudentInfo> getBsssStudentInfoPage(BsssStudentInfoReqVo bsssStudentInfoReqVo, Page<BsssStudentInfo> page);

    BsssStudentInfo getStudentByStudentId(BsssStudentInfoReqVo bsssStudentInfoReqVo);


    //本科生-研究生-硕士 分页查询
    Page<StudentField> getStudentInfoPage(StudentField studentField,Page<StudentField> page);

    //本科生-研究生-硕士 详情查询
    StudentField getStudentData(StudentField studentField);

    BsssStudentInfo studentForgotPasswordCheck(BsssStudentInfoReqVo bsssStudentInfoReqVo);

}
